var SceneLoader = require('geoSceneLoader');
var GameAdv = require('WasteSortingGameAdv');

cc.Class({
    extends: cc.Component,

    properties: {
        title:{
            default:null,
            type:cc.Label,
        },
        levelScoreLabel:{
            default:null,
            type:cc.Label,
        },
        totalScoreLabel:{
            default:null,
            type:cc.Label,
        },

        passScore:{
            default:30,
        },

        maxNumLevels:{
            default:3,
        },

        statePass:{
            default:null,
            type:cc.Node,
        },
        stateFail:{
            default:null,
            type:cc.Node,
        },
        stateFinish:{
            default:null,
            type:cc.Node,
        },

        gameAdvSceneLoader:{
            default:null,
            type:SceneLoader,
        },
        mainMenuSceneLoader:{
            default:null,
            type:SceneLoader,
        },

        resultList:{
            default:null,
            type:cc.Node,
        },

        resultItem:{
            default:null,
            type:cc.Node,
            tooltip:'结果列表项原型'
        }
    },

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {},

    start () {
        // 设置title，标明当前关卡号
        this.title.string = '第' + GameAdv.NumLevelsPassed + '关统计';
        // 设置当前关卡得分
        this.levelScoreLabel.string = '关卡得分：' + GameAdv.LevelScore;
        // 显示总分
        this.totalScoreLabel.string = '总分：' + GameAdv.TotalScore;

        // 激活对应状态
        this.setState();

        // 
        this.makeResultList();
    },

    setState(){
        if (GameAdv.LevelScore >= this.passScore) {
            // 当前关卡及格
            if (GameAdv.NumLevelsPassed  == this.maxNumLevels) {
                // 全部关卡已经通过
                this.stateFinish.active = true;
            } else {
                // 当前及格
                this.statePass.active = true;
            }
        } else {
            // 不及格
            this.stateFail.active = true;
        }
    },

    playNext(){
        this.gameAdvSceneLoader.tryLoadScene();
        // 处理减时
        // GameAdv.DecTime += 2;
        //

    },

    replay(){
        // 设置重玩标志
        GameAdv.IsReplay = true;
        //
        GameAdv.NumLevelsPassed --;
        //
        this.gameAdvSceneLoader.tryLoadScene();
    },

    goMainMenu(){
        this.mainMenuSceneLoader.tryLoadScene();
    },

    /**
     * 建立结果列表
     */
    makeResultList(){
        GameAdv.Results.forEach(r => {
            var item = cc.instantiate(this.resultItem);
            item.getComponent(cc.Label).string = r;
            this.resultList.addChild(item);
        });


        this.resultList.getComponent(cc.Layout).updateLayout();

        cc.log();
    },

    // update (dt) {},
});
